package com.itlaobing.september.first;

import java.time.LocalDate;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;

/**
 * 1、解決所有的编译错误
 * 2、解决Monkey的排序问题: 
 * 		要求不修改Exam3类中main方法的前提下实现对Monkey列表的排序
 * 		根据Monkey实例的birthdate进行【降序】排列
 * 3、在iterate方法中完成对Monkey列表的迭代
 */
public class Exam3 {

	public static void iterate( List<Monkey> list ) {
		// 迭代List集合，每行输出一个Monkey的字符串形式即可
		List<Monkey> li = new ArrayList<>(list); 
		Iterator<Monkey> itor = li.iterator();
		while( itor.hasNext() ) {
			Monkey key = itor.next() ;
			System.out.println( Arrays.toString(key) );
		}
	}
	
	public static void main(String[] args) {
		
		List<Monkey> monkeyList = new ArrayList<>();
		
		monkeyList.add( new Monkey( "孙悟空" , LocalDate.of( 1996 , 10 , 10 ) , 15800 , 122 ) ) ;
		monkeyList.add( new Monkey( "孙行者" , LocalDate.of( 1998 , 9 , 5 ) , 17000 , 114 ) ) ;
		monkeyList.add( new Monkey( "者行孙" , LocalDate.of( 1997 , 10 , 1 ) , 15900 , 125 ) ) ;
		monkeyList.add( new Monkey( "行者孙" , LocalDate.of( 1999 , 5 , 30 ) , 19090 , 102 ) ) ;
		
		iterate( monkeyList ); // 排序前的迭代
		
		Collections.sort( monkeyList ); // 不准在这里增加参数
		
		iterate( monkeyList ); // 排序后的迭代

	}

}
